"""
异步任务程序启动的主模块
"""
import os
# 我们在celery程序的main.py中设置django配置文件的导包路径，方便后续加载django配置文件中的参数
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'meiduo_mall.settings.dev')

# 当我们的celery异步程序里面需要使用django的一些功能(如：发送邮件send_mail函数)
# 就需要加载django工程环境如下两行代码
# 注意：我们必须先设置django配置文件导包路径之后，才能通过django.setup()来加载django配置
import django
django.setup()

from celery import Celery

# 1、实例化异步程序对象
app = Celery('meiduo') # 参数是app的别名，可以不设置
# 2、加载配置文件
app.config_from_object('celery_tasks.config') # 参数配置文件config.py的导包路径
# 3、定义并注册任务包
# celery框架中，任务是以"包"的形式封装的
# 注册任务包
app.autodiscover_tasks([
    'celery_tasks.sms', # sms任务包的导包路径
    'celery_tasks.email', # email任务包 —— 发邮件
])